\pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b0\i0\ulnone\fs28\fc1\cf1 Q: I like to use strong typing in my applications but this sometimes causes problems. For example, take
\b Bagel.h
\b0 \
\f2\fs24\fc0\cf0 \
\f1\fc1\cf1 #import <objc/Object.h>\
#import "Mold.h"\
\
@interface Bagel:Object\
\{\
Mold *someMold;\
\}\
@end\
\f0\fs28 \
and
\b Mold.h
\b0 \
\
\f1\fs24 #import <objc/Object.h>\
#import "Bagel.h"\
\
@interface Mold:Object\
\{\
Bagel *aBagel;\
\}\
@end\
\f2\fc0\cf0 \
\f0\fs28\fc1\cf1 The compiler doesn't like the circular reference my strong typing causes. What can I do?\
\
A: There's no elegant way to avoid this problem. Modifying
\b Mold.h
\b0 to look like the following removes the problem:\